1. Technical Field
The present application relates generally to an improved data processing system and method. More specifically, the present application is directed to a system and method for providing increased availability of input/output (I/O) devices in the event of an I/O hub failure. The method also allows the I/O devices to be restored to the original bandwidth after a concurrent I/O hub repair.
2. Description of Related Art
Input/output (I/O) hubs are often used in server computing devices to allow multiple I/O devices to be connected to the server computing device and manage the I/O operations performed between the I/O devices and the server computing device's processors, memory, and other resources. For example, in the IBM eserver p5-590 and 595 server computing devices available from International Business Machines, Inc. of Armonk, N.Y., one or more GX+ I/O hub adapters are utilized to provide and manage multiple I/O devices connected to the server computing device.
Typically, such I/O hub adapters are provided in the host system and are coupled to remote I/O drawers, in which I/O adapters (e.g., PCI or PCI-X adapters) and/or disk devices may be installed, through cabling links, e.g., Remote Input/Output (RIO) cabling links. The I/O drawers typically contain two I/O planars having slots and/or disk bays into which I/O adapters and SCSI devices may be installed.
The connections between the I/O hub adapters and the remote I/O drawers are provided using cable loops which help to protect against a single point-of-failure resulting from an open, missing, or disconnected cable. Systems with non-looped configurations could experience a failure that results in a loss of I/O resources.
I/O drawers may be connected to the host system in either a single loop or dual loop mode. In a single loop, or “single barrel,” mode, an entire I/O drawer is connected to the host system using one cable loop, with 2 ports. Planars in the I/O drawer are connected together using a short cable. Single loop connection requires one loop (2 ports) per I/O drawer.
Dual loop, or “double barrel,” mode, connects each I/O planar in the drawer to the host system separately. Each I/O planar is connected to the host system using a separate cable loop. Dual loop connections require two loops (4 ports) per I/O drawer. The dual loop connection provides twice the bandwidth of the single loop connection. Thus, dual loop mode is typically utilized because it provides the maximum bandwidth between the I/O drawer and the host system.
While dual loop mode provides the maximum bandwidth between the I/O drawer and the host system, a problem exists in that if one I/O hub in the host system fails, one entire I/O planar becomes unavailable until the I/O hub is repaired. This can considerably reduce the I/O throughput, or bandwidth, of the host system when an entire I/O planar is placed out of service due to one failed I/O hub. While failed I/O hubs may be repaired concurrently with the operation of other I/O planars of the I/O drawer, the I/O planar coupled to the failed I/O hub cannot be concurrently used during the time between the failure of the I/O hub and completion of repairs on the I/O hub.